package com.oxymore.jbnetapi.wow.item;

import java.util.ArrayList;

import com.oxymore.jbnetapi.core.ApiResponse;

public class Item extends ApiResponse
{
	private int id;
	private int disenchantigSkillRank;
	private String description;
	private String name;
	private String icon;
	private int stackable;
	private int itemBind;
	private ArrayList<Stats> bonusStats;
	private ArrayList<ItemSpell> itemSpells;
	private int buyPrice;
	private int itemClass;
	private int itemSubclass;
	private int containerSlots;
	private WeaponInfo weaponInfo;
	private int inventoryType;
	private boolean equippable;
	private int itemLevel;
	private int maxCount;
	private int maxDurability;
	private int minFactionId;
	private int minReputation;
	private int quality;
	private int sellPrice;
	private int requiredLevel;
	private int requiredSkill;
	private int requiredSkillRank;
	private SocketInfo socketInfo;
	private ItemSource itemSource;
	private int baseArmor;
	private boolean hasSockets;
	private boolean isAuctionnable;

	public int getId()
	{
		return id;
	}

	public void setId(int id)
	{
		this.id = id;
	}

	public int getDisenchantigSkillRank()
	{
		return disenchantigSkillRank;
	}

	public void setDisenchantigSkillRank(int disenchantigSkillRank)
	{
		this.disenchantigSkillRank = disenchantigSkillRank;
	}

	public String getDescription()
	{
		return description;
	}

	public void setDescription(String description)
	{
		this.description = description;
	}

	public String getName()
	{
		return name;
	}

	public void setName(String name)
	{
		this.name = name;
	}

	public String getIcon()
	{
		return icon;
	}

	public void setIcon(String icon)
	{
		this.icon = icon;
	}

	public int getStackable()
	{
		return stackable;
	}

	public void setStackable(int stackable)
	{
		this.stackable = stackable;
	}

	public int getItemBind()
	{
		return itemBind;
	}

	public void setItemBind(int itemBind)
	{
		this.itemBind = itemBind;
	}

	public ArrayList<Stats> getBonusStats()
	{
		return bonusStats;
	}

	public void setBonusStats(ArrayList<Stats> bonusStats)
	{
		this.bonusStats = bonusStats;
	}

	public ArrayList<ItemSpell> getItemSpells()
	{
		return itemSpells;
	}

	public void setItemSpells(ArrayList<ItemSpell> itemSpells)
	{
		this.itemSpells = itemSpells;
	}

	public int getBuyPrice()
	{
		return buyPrice;
	}

	public void setBuyPrice(int buyPrice)
	{
		this.buyPrice = buyPrice;
	}

	public int getItemClass()
	{
		return itemClass;
	}

	public void setItemClass(int itemClass)
	{
		this.itemClass = itemClass;
	}

	public int getItemSubclass()
	{
		return itemSubclass;
	}

	public void setItemSubclass(int itemSubclass)
	{
		this.itemSubclass = itemSubclass;
	}

	public int getContainerSlots()
	{
		return containerSlots;
	}

	public void setContainerSlots(int containerSlots)
	{
		this.containerSlots = containerSlots;
	}

	public WeaponInfo getWeaponInfo()
	{
		return weaponInfo;
	}

	public void setWeaponInfo(WeaponInfo weaponInfo)
	{
		this.weaponInfo = weaponInfo;
	}

	public int getInventoryType()
	{
		return inventoryType;
	}

	public void setInventoryType(int inventoryType)
	{
		this.inventoryType = inventoryType;
	}

	public boolean isEquippable()
	{
		return equippable;
	}

	public void setEquippable(boolean equippable)
	{
		this.equippable = equippable;
	}

	public int getItemLevel()
	{
		return itemLevel;
	}

	public void setItemLevel(int itemLevel)
	{
		this.itemLevel = itemLevel;
	}

	public int getMaxCount()
	{
		return maxCount;
	}

	public void setMaxCount(int maxCount)
	{
		this.maxCount = maxCount;
	}

	public int getMaxDurability()
	{
		return maxDurability;
	}

	public void setMaxDurability(int maxDurability)
	{
		this.maxDurability = maxDurability;
	}

	public int getMinFactionId()
	{
		return minFactionId;
	}

	public void setMinFactionId(int minFactionId)
	{
		this.minFactionId = minFactionId;
	}

	public int getMinReputation()
	{
		return minReputation;
	}

	public void setMinReputation(int minReputation)
	{
		this.minReputation = minReputation;
	}

	public int getQuality()
	{
		return quality;
	}

	public void setQuality(int quality)
	{
		this.quality = quality;
	}

	public int getSellPrice()
	{
		return sellPrice;
	}

	public void setSellPrice(int sellPrice)
	{
		this.sellPrice = sellPrice;
	}

	public int getRequiredLevel()
	{
		return requiredLevel;
	}

	public void setRequiredLevel(int requiredLevel)
	{
		this.requiredLevel = requiredLevel;
	}

	public int getRequiredSkill()
	{
		return requiredSkill;
	}

	public void setRequiredSkill(int requiredSkill)
	{
		this.requiredSkill = requiredSkill;
	}

	public int getRequiredSkillRank()
	{
		return requiredSkillRank;
	}

	public void setRequiredSkillRank(int requiredSkillRank)
	{
		this.requiredSkillRank = requiredSkillRank;
	}

	public ItemSource getItemSource()
	{
		return itemSource;
	}

	public void setItemSource(ItemSource itemSource)
	{
		this.itemSource = itemSource;
	}

	public int getBaseArmor()
	{
		return baseArmor;
	}

	public void setBaseArmor(int baseArmor)
	{
		this.baseArmor = baseArmor;
	}

	public boolean isHasSockets()
	{
		return hasSockets;
	}

	public void setHasSockets(boolean hasSockets)
	{
		this.hasSockets = hasSockets;
	}

	public boolean isAuctionnable()
	{
		return isAuctionnable;
	}

	public void setAuctionnable(boolean isAuctionnable)
	{
		this.isAuctionnable = isAuctionnable;
	}

	@Override
	public String toString()
	{
		return "Item [id=" + id + ", disenchantigSkillRank="
				+ disenchantigSkillRank + ", description=" + description
				+ ", name=" + name + ", icon=" + icon + ", stackable="
				+ stackable + ", itemBind=" + itemBind + ", bonusStats="
				+ bonusStats + ", itemSpells=" + itemSpells + ", buyPrice="
				+ buyPrice + ", itemClass=" + itemClass + ", itemSubclass="
				+ itemSubclass + ", containerSlots=" + containerSlots
				+ ", weaponInfo=" + weaponInfo + ", inventoryType="
				+ inventoryType + ", equippable=" + equippable + ", itemLevel="
				+ itemLevel + ", maxCount=" + maxCount + ", maxDurability="
				+ maxDurability + ", minFactionId=" + minFactionId
				+ ", minReputation=" + minReputation + ", quality=" + quality
				+ ", sellPrice=" + sellPrice + ", requiredLevel="
				+ requiredLevel + ", requiredSkill=" + requiredSkill
				+ ", requiredSkillRank=" + requiredSkillRank + ", socketInfo="
				+ socketInfo + ", itemSource=" + itemSource + ", baseArmor="
				+ baseArmor + ", hasSockets=" + hasSockets
				+ ", isAuctionnable=" + isAuctionnable + "]";
	}

	/**
	 * @return the socketInfo
	 */
	public SocketInfo getSocketInfo()
	{
		return socketInfo;
	}

	/**
	 * @param socketInfo
	 *            the socketInfo to set
	 */
	public void setSocketInfo(SocketInfo socketInfo)
	{
		this.socketInfo = socketInfo;
	}
}
